﻿#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
//int main(){
//	int a = 0;
//	scanf("%d", &a);
//	//数据是存储在内存中的，程序退出之后内存就回收了，数据就丢失了
//	printf("%d\n", a);
//	return 0;
//}
//

//文件包含程序文件和数据文件
//程序⽂件包括源程序⽂件（后缀为.c）,⽬标⽂件（windows环境后缀为.obj）,可执⾏程序（windows
//环境后缀为.exe）。


//int main() {
//	int a = 10000;
//	FILE* pf = fopen("text.txt", "wb");
//	fwrite(&a, 4, 1, pf);//二进制形式写到文件中
//	fclose(pf);
//	return 0;
//}


//.表示当前路径
//..表示上一级路径
//int main() {
//	FILE*pf=fopen("data.txt", "w");
//	if (pf == NULL) {
//		perror("fopen");
//		return 1;
//	}
//	//写文件
//	fputc('a', pf);
//	fputc('b', pf);
//	fputc('c', pf);
//	fputc('d', pf);
//	//关闭文件
//	fclose(pf);
//
//	return 0;
//}
//写在标准输出上
//int main() {
//	fputc('a', stdout);
//	fputc('a', stdout);
//	fputc('a', stdout);
//	fputc('a', stdout);
//	return 0;
//}

//EOF是end of file文件结束标志

//int main() {
//	FILE* pf = fopen("data.txt", "r");
//	if (pf == NULL) {
//		perror("fopen");
//		return 1;
//	}
//	for (int i = 0;i < 10;i++) {
//		int c = fgetc(pf);
//		if (c == EOF) {
//			if (feof(pf)) {
//				printf("遇到文件末尾了\n");
//			}
//			else if (ferror(pf)) {
//				printf("读取发生错误\n");
//			}
//		}
//		else {
//			fputc(c, stdout);
//		}
//	}
//	//关闭文件
//	fclose(pf);
//	pf = NULL;
//	return 0;
//}

//int main() {
//	FILE* pf = fopen("data.txt", "w");
//	if (pf == NULL) {
//		perror("fopen");
//		return 1;
//	}
//	fputs("abc\n", pf);
//	fputs("def", pf);
//	fclose(pf);
//	pf = NULL;
//	return 0;
//}

int main() {
	FILE* pf = fopen("data.txt", "r");
	if (pf == NULL) {
		perror("fopen");
		return 1;
	}
	//读文件
	char arr[20] = "xxxxxxxxxxxxxxxxxxxx";
	fgets(arr, 20, pf);
	//关闭文件
	fclose(pf);
	pf = NULL;
	return 0;
}
